package git.soulbgm;

import cn.smallbun.screw.core.engine.EngineFileType;

/**
 * 系统配置
 *
 * @author SoulBGM
 * @date 2021/02/20
 */
public class SysConfig {

    /**
     * 数据库驱动包路径（绝对路径） 必填
     */
    private String databaseDriverPath;

    /**
     * 数据库驱动类名称 必填
     */
    private String databaseDriver;

    /**
     * 数据库地址 必填
     */
    private String databaseUrl;

    /**
     * 数据库用户名 必填
     */
    private String databaseUsername;

    /**
     * 数据库密码 必填
     */
    private String databasePassword;

    /**
     * 文件输出目录
     */
    private String fileOutputDir;

    /**
     * 可以设置 Html Word Markdown 格式分别对应 html word md
     */
    private String fileOutputType;

    /**
     * 文档名称
     */
    private String docFileName;

    /**
     * 文档版本
     */
    private String docVersion;

    /**
     * 文档描述
     */
    private String docDescription;

    /**
     * 忽略表名
     */
    private String[] ignoreTableName;

    /**
     * 忽略表前缀
     */
    private String[] ignoreTablePrefix;

    /**
     * 忽略表后缀
     */
    private String[] ignoreTableSuffix;

    public String getDatabaseDriverPath() {
        return databaseDriverPath;
    }

    public void setDatabaseDriverPath(String databaseDriverPath) {
        this.databaseDriverPath = databaseDriverPath;
    }

    public String getDatabaseDriver() {
        return databaseDriver;
    }

    public void setDatabaseDriver(String databaseDriver) {
        this.databaseDriver = databaseDriver;
    }

    public String getDatabaseUrl() {
        return databaseUrl;
    }

    public void setDatabaseUrl(String databaseUrl) {
        this.databaseUrl = databaseUrl;
    }

    public String getDatabaseUsername() {
        return databaseUsername;
    }

    public void setDatabaseUsername(String databaseUsername) {
        this.databaseUsername = databaseUsername;
    }

    public String getDatabasePassword() {
        return databasePassword;
    }

    public void setDatabasePassword(String databasePassword) {
        this.databasePassword = databasePassword;
    }

    public String getFileOutputDir() {
        return fileOutputDir;
    }

    public void setFileOutputDir(String fileOutputDir) {
        this.fileOutputDir = fileOutputDir;
    }

    public String getFileOutputType() {
        return fileOutputType;
    }

    public void setFileOutputType(String fileOutputType) {
        this.fileOutputType = fileOutputType;
    }

    public String getDocFileName() {
        return docFileName;
    }

    public void setDocFileName(String docFileName) {
        this.docFileName = docFileName;
    }

    public String getDocVersion() {
        return docVersion;
    }

    public void setDocVersion(String docVersion) {
        this.docVersion = docVersion;
    }

    public String getDocDescription() {
        return docDescription;
    }

    public void setDocDescription(String docDescription) {
        this.docDescription = docDescription;
    }

    public String[] getIgnoreTableName() {
        return ignoreTableName;
    }

    public void setIgnoreTableName(String[] ignoreTableName) {
        this.ignoreTableName = ignoreTableName;
    }

    public String[] getIgnoreTablePrefix() {
        return ignoreTablePrefix;
    }

    public void setIgnoreTablePrefix(String[] ignoreTablePrefix) {
        this.ignoreTablePrefix = ignoreTablePrefix;
    }

    public String[] getIgnoreTableSuffix() {
        return ignoreTableSuffix;
    }

    public void setIgnoreTableSuffix(String[] ignoreTableSuffix) {
        this.ignoreTableSuffix = ignoreTableSuffix;
    }

    private static SysConfig config = new SysConfig();

    private SysConfig() {}

    public static SysConfig getConfig() {
        return config;
    }

}
